package service

import (
	"AiBus/global"
	"AiBus/model"
	"AiBus/request"
	"AiBus/utils"
	"errors"
	"github.com/gin-gonic/gin"
	"gorm.io/gorm"
)

func SystempPrameter(c *gin.Context, req request.SystemParameter, UserID string) {
	system := model.SystemParameter{}
	err := global.App.DB.Where("user_id=?", UserID).First(&system).Error

	if err != nil {
		// 当数据不存在时
		if errors.Is(err, gorm.ErrRecordNotFound) {
			err = global.App.DB.Create(&model.SystemParameter{

				Email:  req.Email,
				UserID: UserID,
			}).Error
			if err != nil {
				global.App.Log.Error(err.Error())
				utils.Fail(c, 4001, "邮箱账号添加失败")
				return
			}
		}
		global.App.Log.Error(err.Error())
		utils.Fail(c, 4001, "邮箱账号修改失败!")
	} else {
		err = global.App.DB.Model(&model.SystemParameter{}).Where("user_id=?", UserID).Update("email", req.Email).Error
		if err != nil {
			global.App.Log.Error(err.Error())
			utils.Fail(c, 4001, "邮箱账号修改失败!")
		} else {
			utils.Success(c, 0, "成功")
		}
	}

}
